草庐IT

cesium 3dtile

全部标签

Cesium 中depthTestAgainstTerrain的作用

在Cesium中我们可以通过depthTestAgainstTerrain开启或者关闭深度检测,默认是关闭的。viewer.scene.globe.depthTestAgainstTerrain=true;(开启)viewer.scene.globe.depthTestAgainstTerrain=false;(关闭)具体来讲depthTestAgainstTerrain是一个Boolean类型的属性,它的作用是让3D对象深度测试(Z-buffer)考虑到地形。当这个属性被设置为true时,Cesium会使用地形数据来遮挡三维模型以及其他可视化元素。如果将这个属性设置为false,那么地形不再

DEJA_VU3D - Cesium功能集 之 108-如何提升浏览性能

前言编写这个专栏主要目的是对工作之中基于Cesium实现过的功能进行整合,有自己琢磨实现的,也有参考其他大神后整理实现的,初步算了算现在有差不多实现小140个左右的功能,后续也会不断的追加,所以暂时打算一周2-3更的样子来更新本专栏(每篇博文都会奉上完整demo的源代码,尽可能把代码简洁一些)。博文内容如存在错误或者有可改进之处,也希望在这里和各位大佬交流提高一下。专栏地址:DEJA_VU3D-Cesium功能集(附源码)_总要学点什么的博客-CSDN博客更多内容/样例/demo说明:DEJA_VU3D完整功能目录专栏内容本着尽可能简洁的原则,这篇博文呢,我来分享一下我平时的电脑设置,充分利用

了解Cesium场景的primitives属性

之前显示3dtiles的代码都是,scene.primitives.add(xxx);都是加到场景下的primitives里面;看一下什么是场景的primitives属性;看一下手册,primitives:PrimitiveCollectioneGetsthecollectionofprimitives.primitives是PrimitiveCollectione,集合类型;newCesium.PrimitiveCollection(options)Acollectionofprimitives.ThisismostoftenusedwithScene#primitives,butPrimi

关于cesium根据地形画区域面积并覆盖在3d表面上

最近一直在研究在3d地图上添加区域还有车辆路径路线,很是秃然啊!在不断的百度百度再百度,终于有了一套解决办法,先演示一下操作过程,drawLine()方法 drawPlane()方法下面就来堆代码吧。一、viewer.scene.pickPosition与viewer.camera.pickEllipsoid的区别前提是开启了地形检测viewer.scene.globe.depthTestAgainstTerrain=true;一般开启会占用一定内存,但是获取笛卡尔坐标更精确了,否则用viewer.camera.pickEllipsoid的话,可能画线的鼠标位置跟线的实际位置差距很大二、获取鼠

Cesium 视角切换到实体(entity)/ dataSources / 定位到模型(3DTiles)

Cesium的camera.flyTo是不可以直接飞到实体的。但是viewer.flyTo可以直接飞到实体。viewer.flyTo(target,options):将相机飞到提供的实体、实体或数据源。如果数据源仍在加载过程中或可视化仍在加载中,则此方法在执行飞行之前等待数据准备好viewer.flyTo的target`可以是:要查看的实体、实体数组、实体集合、数据源、Cesium3DTileset、点云或图像层。您还可以传递一个解析为前面提到的类型之一的Promise。例如下面代码,加载了一个geojson,然后通过flyTo直接将视角切换到geojson加载的位置//读取geojsonle

cesium学习记录08-鼠标绘制多边形

上一篇学习了实体的一些基础知识,这一篇来学习鼠标绘制实体多边形的实现一、方法一:1,结果显示贴地:不贴地:2,方法全部代码:主方法:/***绘制多边形*@param{Object}option*@param{Boolean}option.ground是否贴地*/DrawPolygon(option){varallPoints=[]//设置返回值returnnewPromise((resolve,reject)=>{//1.获取CesiumViewerletviewer=this.viewer;//2.创建一个用于存储多边形顶点的数组letpolygonPoints=[];//3.创建一个用于显

Obj转3DTiles(自动LOD)

Obj转3DTiles🥙资源🍰注意事项🍜使用方法💡命令行参数说明💡demo🥙资源程序包下载👈🍰注意事项使用建模软件导出一个obj模型,注意事项:uv要在0-1范围内模型材质中的贴图要解包不然无法导出各种资源命名只用英文避免出现奇怪的符号🍜使用方法💡命令行参数说明-s,--stage(Default:Tiling)设置完成某个阶段后停止(Decimation,Splitting,Tiling)-l,--lods(Default:3)LOD生成层数,如果输入5则每个模型块的子模型数量为5减去模型块LOD层级-d,--divisions(Default:2)模型切割次数,切割成棋盘格,没开启z轴切割

10行代码完成cesium跟随弹窗,超简单

一个好习惯,先给结论使用Cesium.SceneTransforms.wgs84ToWindowCoordinates方法转换经纬度坐标为屏幕坐标,使用scene.postRender.addEventListener方法实时监听地图的转动,将弹窗定位在对应位置。在线体验地址:点我预览代码地址:点我github本文首发于:https://blog.gis1024.com/cesium-popup1.html这里才是引言在使用cesium开发项目的过程中,在poi位置弹窗弹窗,并使弹窗始终跟随poi点移动是一个非常常见的需求。可惜的是,cesium官方没有像其他二维地图框架那样提供一个可以使用的

gltf转3DTiles

gltf转3DTiles🍛环境搭建🎄资源🎄安装依赖🌮转换gltf为3DTiles🎄设置模型路径🎄运行🎄查看🍛环境搭建🎄资源💡.下载转换程序💡.下载安装python💡.下载安装vscode🎄安装依赖进入转换程序目录,进入cmd,执行pipinstall-rrequirements.txt,自动安装相关依赖包。🌮转换gltf为3DTiles🎄设置模型路径💡.进入程序目录,用VSCode打开main.py文件,修改fin为需要转换的模型路径(注意要有两个反斜杠!)🎄运行🎄查看💡.生成的模型在转换模型相同目录下的tileset文件夹内:

数据处理(4):4种方式使用3Dmax模型数据转cesium Gltf模型

方式一:COLLADAMaxNew插件转换下载链接:https://www.aliyundrive.com/s/xLXfLggCh9k提取码:fs72环境准备,需先安装max插件COLLADAMaxNew.dle,这是一个导出插件,可以将模型导出0penCOLLADA(*.DAE)格式文件将下载得COLLADAMaxNew.dle插件放置3Dmax安装目录Plugins下即可,随后重启3Dmax即可。也可以手动导入COLLADAMaxNew.dle插件,点击自定义-插件管理器在插件管理器空白处右键-加载新插件,找到插件目录导入即可环境准备完毕,将带有动画效果得模型加载进入3Dmax2017版本